{	Problem: http://codeforces.ru/problemset/problem/107/B
	Verdict: Accepted
}
uses
                SysUtils, Math;

var
                n, m, h, s, xx, x, qq : int64;
                i : longint;
                kk, tt : extended;

begin 
 read(n, m, h);  
    s := 0;
    for i := 1 to m do begin
        read(x);
        if i = h then xx := x;
        inc(s, x);
    end;
    if s < n then begin
        write('-1.0');
        exit;
    end;
    dec(xx);
    dec(n);
    dec(s);
    kk := 1;
    qq := s - n;
    qq := min(s - n, s - xx);
    for i := s - n - xx + 1 to qq do
        kk := kk * i;
    tt := 1;
    qq := max(s - n, s - xx);
    for i := qq + 1 to s do
                tt := tt * i;
    write((1 - kk/tt) : 0 : 16);
end.